5. The Beginning of Software Engineering
When Software Was Part of the Hardware
Until the 1960s, software was largely treated as part of the hardware. Computers and their peripherals filled entire rooms, were expensive, and required considerable money and staff to operate. Software was not yet widely recognized as an engineering discipline in its own right.

"Installation done!"

"Now, how do I program it?"
Mathematics played a central role in early computing, so students studying mathematics often found their way into programming.

"This new computer should give us the results in no time."
People studying science or engineering also learned to program, since computers could perform calculations and experiments that had previously been done by hand. Some became so absorbed in programming that they made it their profession.

"Isn't it more fun than math?"
Dennis Ritchie, who helped create Unix and the C programming language, studied physics and applied mathematics at university.
Margaret Hamilton and Apollo Flight Software
The story of Margaret Hamilton, who worked on the Apollo program in the 1960s, offers a glimpse of how software was developed and regarded at the time. After studying mathematics at university, she began working as a programmer at MIT to support her husband's studies.

"Math majors can be programmers too?"
She first developed weather prediction software with meteorologist Edward Lorenz, then worked on the SAGE air-defense project. Formal courses in computer science and software engineering were hard to find, so programmers mostly learned on the job. Software development was also not taken as seriously as the established engineering disciplines.

"Computer science and software engineering weren't regular subjects yet. Programmers learned by doing."
After becoming an expert in systems programming, Hamilton joined MIT's Instrumentation Laboratory. There she led the Software Engineering Division, whose team developed onboard flight software for Apollo's command and lunar modules[4]. Software had initially been overlooked in Apollo's budgets, schedules, and requirements[1]. Yet it played a critical role in controlling the spacecraft and lunar lander. Hamilton sometimes brought her daughter to work on weekends as she worked to make the software more reliable.

"Mom, when are we going home?"
"I'm done. Let's go."
By the late 1960s, the Apollo guidance and software effort had grown to hundreds of people, often summarized as roughly 400 contributors[1]. In 1969, Apollo 11 successfully landed on the Moon.

"Moon landing success!"
Hamilton argued that software should have the same professional standing as other engineering disciplines and helped popularize the term "software engineering." Sources differ on whether she coined the term, but she helped establish the concept[4].

"Software Engineering!"
Women Who Led Early Programming
Many early software developers were women, a striking contrast with today's male-dominated field. Programming was often considered less important than hardware development, assigned to women, and poorly paid[2]. This helps explain why so many photographs of early computers show women working at them.

"The salary is too low for what I'm doing."

The six programmers originally assigned to ENIAC were all women[3].

Grace Hopper and the Computer Bug
Grace Hopper held a doctorate in mathematics and became a pioneering programmer who later developed one of the earliest compilers. In 1947, she was working with the Harvard Mark II team when the machine began malfunctioning.

"Why isn't the input working?"
The team found a moth trapped in one of the machine's relays.

"There's a dead moth inside the relay."
They taped the moth into the logbook with the note "First actual case of bug being found." Engineers had used the word "bug" for technical faults long before this incident, but Hopper and the Mark II team helped popularize "bug" and "debugging" in computing[5].

"First actual case of bug being found."
Women played a pioneering role in early programming and helped lay the foundations of software engineering.

References
- Her Code Got Humans on the Moon—And Invented Software Itself, wired.com
- Computer Programming Used To Be Women’s Work, Smithsonian Magazine
- How Female ENIAC Programmers Pioneered the Software Industry, Intel iQ
- Margaret Hamilton's Apollo Code, NASA
- Log Book With Computer Bug, Smithsonian National Museum of American History
- The Hidden Heroines of Chaos, Quanta Magazine